package com.huabo.audit.oracle.entity;

import java.util.Date;
import java.util.List;
import java.util.Set;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.huabo.audit.config.IgnoreSwaggerParameter;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;

/**
 * 描述:
 * author: ziyao
 * date: 2022-04-20
 */
@TableName("TBL_NBSJ_SHEET")
@Data
@ApiModel("实体类")
@Accessors(chain = true)
public class TblNbsjSheetEntity {
	
	public final static Integer STATE1 = 1;//未审核
    public final static Integer STATE2 = 2;//审核中
    public final static Integer STATE3 = 3;//审核驳回
    public final static Integer STATE4 = 4;//审核完成
    public final static Integer STATE5 = 5;//需调整

    @TableId(value = "sheetid", type = IdType.AUTO)
    @ApiModelProperty(value = "主键")
    private Integer sheetId;

    @TableField(value = "sheetcode")
    @ApiModelProperty(value = "底稿编号")
    private String sheetCode;

    @TableField(value = "sheetname")
    @ApiModelProperty(value = "底稿名称")
    private String sheetName;

    @TableField(value = "sheettarget")
    @ApiModelProperty(value = "")
    private String sheetTarget;

    @TableField(value = "auditorg")
    @ApiModelProperty(value = "被审计单位")
    private Integer auditOrg;

    @TableField(value = "createstaff")
    @ApiModelProperty(value = "创建人",hidden = true)
    @IgnoreSwaggerParameter
    private TblStaff createStaff;

    @TableField(value = "createtime")
    @ApiModelProperty(value = "创建时间",hidden = true)
    @IgnoreSwaggerParameter
    private Date createTime;

    @TableField(value = "projectid")
    @ApiModelProperty(value = "所属项目id")
    private Integer projectId;

    @TableField(value = "updatetime")
    @ApiModelProperty(value = "修改时间",hidden = true)
    @IgnoreSwaggerParameter
    private Date updateTime;

    @TableField(value = "riskattrbution")
    @ApiModelProperty(value = "风险归属")
    private String riskAttrbution;

    @TableField(value = "businessaffiliation")
    @ApiModelProperty(value = "审计事项")
    private String businessAffiliation;

    @TableField(value = "state")
    @ApiModelProperty(value = "审核状态 1 未审核;2 审核中;3 审核驳回;4 审核完成;5 需调整",hidden = true)
    @IgnoreSwaggerParameter
    private Integer state;

    @TableField(value = "auditdesc")
    @ApiModelProperty(value = "审计程序执行过程")
    private String auditDesc;

    @TableField(value = "auditcourse")
    @ApiModelProperty(value = "审计意见及建议")
    private String auditCourse;

    @TableField(value = "auditdiscoverable")
    @ApiModelProperty(value = "审计发现")
    private String auditDiscoverable;

    @TableField(value = "status")
    @ApiModelProperty(value = "确认状态")
    private Integer status;

    @TableField(value = "approver")
    @ApiModelProperty(value = "审批人名称记录",hidden = true)
    private String approver;

    @TableField(value = "risklevel")
    @ApiModelProperty(value = "是否发现问题")
    private String riskLevel;

    @TableField(value = "programid")
    @ApiModelProperty(value = "")
    private Integer proGramid;

    @TableField(value = "questitle")
    @ApiModelProperty(value = "问题标题")
    private String quesTitle;

    @TableField(value = "comptime")
    @ApiModelProperty(value = "底稿完成时间",hidden = true)
    @IgnoreSwaggerParameter
    private Date compTime;

    @TableField(value = "targetname")
    @ApiModelProperty(value = "审计分项")
    private String targetName;

    @TableField(value = "businesstype")
    @ApiModelProperty(value = "业务单元")
    private String businessType;

    @TableField(value = "suditprocess")
    @ApiModelProperty(value = "审计程序")
    private String suditProcess;

    @TableField(value = "sjbwl")
    @ApiModelProperty(value = "审计备忘录")
    private String sjbwl;

    @TableField(value = "targetid")
    @ApiModelProperty(value = "任务id")
    private Integer targetId;

    @TableField(value = "auditstaffid")
    @ApiModelProperty(value = "")
    private Integer auditStaffId;

    @TableField(value = "belongtype")
    @ApiModelProperty(value = "")
    private Integer belongType;

    @TableField(value = "detailtype")
    @ApiModelProperty(value = "")
    private Integer detailType;

    @TableField(value = "nozgreasion")
    @ApiModelProperty(value = "")
    private String nozgreasion;

    @TableField(value = "relatedmoney")
    @ApiModelProperty(value = "")
    private Double relatedMoney;

    @TableField(value = "hgdetailtype")
    @ApiModelProperty(value = "合规详细类型")
    private Integer hgDetailType;

    @TableField(value = "procategories")
    @ApiModelProperty(value = "国资委问题类别")
    private Integer procategories;

    @TableField(value = "assqrback")
    @ApiModelProperty(value = "")
    private String assqrback;

    @TableField(exist = false)
    @ApiModelProperty(value = "项目名称")
    private String projectName;

    @TableField(exist = false)
    @ApiModelProperty(value = "被审计单位")
    private String auditedUnit;

    @TableField(exist = false)
    @ApiModelProperty(value = "审计人员")
    private String auditStaff;
   
    @TableField(value = "firststaffid")
    @ApiModelProperty(value = "第一复核人")
    private Integer firststaffid;
    
    @TableField(value = "secondstaffid")
    @ApiModelProperty(value = "第二复核人")
    private Integer secondstaffid;
    
    @TableField(exist = false)
    @ApiModelProperty(value = "",hidden = true)
    @IgnoreSwaggerParameter
    private TblNbsjProject project;
    
    @TableField(exist = false)
    @ApiModelProperty(value = "",hidden = true)
    @IgnoreSwaggerParameter
    private TblOrganization organization;
    
    @TableField(exist = false)
    @ApiModelProperty(value = "",hidden = true)
    @IgnoreSwaggerParameter
    private TblStaff tblnbsjstaffs;
    
    @TableField(exist = false)
    @ApiModelProperty(value = "",hidden = true)
    @IgnoreSwaggerParameter
    private List<TblNbsjQuestionEntity>  questions;
    
    @TableField(exist = false)
    @ApiModelProperty(value = "",hidden = true)
    @IgnoreSwaggerParameter
    private Set<TblAttachment> tblAttachments;
    
    @TableField(exist = false)
    @ApiModelProperty(value = "拟稿人",hidden = true)
    private String realname;
    
    @TableField(exist = false)
    @ApiModelProperty(value = "被审计单位",hidden = true)
    private String orgname;
    
    @TableField(value = "YJFH")
    @ApiModelProperty(value = "一级复核人姓名")
    private String yjfh;
    
    @TableField(value = "EJFH")
    @ApiModelProperty(value = "二级复核人姓名")
    private String ejfh;
    
    
}
